GtkAssistant: bgo#658694 - Unable to change current page in prepare handler
authorSébastien Granjoux <seb.sfo@free.fr>
Sat, 8 Sep 2012 12:21:32 +0000 (14:21 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 17 Sep 2012 03:27:57 +0000 (23:27 -0400)
gtk/gtkassistant.c

index 33ff5286bb9e2dd5fa46db213909804004c50c86..3ba9f227be5abc7934d793a7877a92be13638a2d 100644 (file)
@@ -719,6 +719,10 @@ set_current_page (GtkAssistant *assistant,
   priv->current_page = (GtkAssistantPage *)g_list_nth_data (priv->pages, page_num);
 
   g_signal_emit (assistant, signals [PREPARE], 0, priv->current_page->page);
+  /* do not continue if the prepare signal handler has already changed the
+   * current page */
+  if (priv->current_page != (GtkAssistantPage *)g_list_nth_data (priv->pages, page_num))
+    return;
 
   update_title_state (assistant);